package com.jspxcms.plug.service;

import com.jspxcms.common.orm.Limitable;
import com.jspxcms.common.orm.RowSide;
import com.jspxcms.plug.domain.PlugDisease;
import com.jspxcms.plug.domain.PlugDoctor;
import com.jspxcms.plug.domain.PlugHospital;
import com.jspxcms.plug.domain.PlugHospitalDepartment;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface PlugDoctorService {
    public Page<PlugDoctor> findAll(Integer siteId, Map<String, String[]> params, Pageable pageable);

    public RowSide<PlugDoctor> findSide(Integer siteId, Map<String, String[]> params, PlugDoctor bean, Integer position, Sort sort);

    public List<PlugDoctor> findList(Integer[] siteId, Limitable limitable);

    public HashMap<PlugDisease, List<PlugDoctor>> findByDepartmentId(Integer departmentId);

    public List<PlugDoctor> findOtherDoctors(Integer departmentId,Integer doctorId);

    public PlugDoctor get(Integer id);

    public PlugDoctor save(PlugDoctor bean, String[] diseases);

    public PlugDoctor update(PlugDoctor bean, String[] diseases);

    public PlugDoctor delete(Integer id);

    public PlugDoctor[] delete(Integer[] ids);
}
